A computer network is composed of a set of nodes and a set of links that connect one node to another. For instance, a computer network may be composed of a set of routers while the set of links may be paths between the routers. When a first node in the network sends data traffic to a second node in the network, the message may pass through many links and many nodes. The set of links and nodes that the message passes through while traveling from the first node to the second node is referred to as a path through the network.
Software-defined networking (SDN) and Network Functions Virtualization (NFV) have revolutionized the traditional communication network architectures and have transformed the way communication service providers (CSPs) design their network infrastructure and services. NFV is a network architecture concept that uses the technologies of Information Technology virtualization to virtualize entire classes of network functions into building blocks that can be connected, or chained together, to create communication services.
SDN and NFV use standard virtualization technologies to virtualize entire classes of network functions that can be connected or chained together to create network services. The initial interest in introducing SDN and NFV into communication services has been driven by the desire to lower capital costs by replacing dedicated network hardware with generic x86 platforms, and to lower operating costs by leveraging cloud automation tools. As the revolution has progressed, focus has shifted towards a foundational transformation in managed communication services, a migration toward a telecommunication (telco) cloud, and the emergence of distributed virtualized infrastructures.
The NFV architecture includes multiple virtualized network functions (VNFs). A network operator may deploy NFV Infrastructure in the form of one or more computing devices to apply, to data traffic traversing a computer network, network functions such as firewall, carrier grade network address translation (CG-NAT), performance enhancement proxies for video, transport control protocol (TCP) optimization and header enrichment, caching, and load balancing. Each of these network functions may be performed by a virtualized network function, which may be executed by one or more virtual machines, containers, or other execution environment of the NFV Infrastructure. In this way, virtualized network functions may be executed by servers, switches, storage devices, and cloud computing infrastructure, instead of having custom hardware appliances for each network function.
In some example implementations, physical and/or virtual appliances are stitched together to form of service chains that provide network services to customer packet flows. In a typical network deployment, service nodes execute virtual machines (VMs) implementing virtual network functions (VNFs) to create a service chain providing the requisite network service. A VNF is typically “stateful” in that a state is generated for a first and subsequent packets of a packet flow, and the state determines how the VNF processes still further subsequent packets for that packet flow. “Checkpointing,” or backing up the state of an active VNF to a backup VNF instance for the active VNF is important to maintain seamless service even in the event of failure of the active VNF.